//
// Created by 刘进伟 on 2018/5/22.
//

#ifndef COMPILER_TOKENRW_H
#define COMPILER_TOKENRW_H

#include "Common.h"

class TokeErgo {
public:
    TokeErgo(std::list<Token> &tokenList);

    ~TokeErgo() { }

private:
    std::list<Token> &tokenBuffer;
    std::list<Token>::iterator curToken;
public:

    Token &getCurrentToken();

    bool isEmpty();

    void goAhead();

    void printTree(LexType lex, int level);
};


#endif //COMPILER_TOKENRW_H
